Analyzing cloning evolution in the Linux kernel

نویسندگان

  • Giuliano Antoniol
  • Umberto Villano
  • Ettore Merlo
  • Massimiliano Di Penta
چکیده

Identifying code duplication in large multi-platform software system is a challenging problem. This is due to a variety of reasons including the presence of high-level programming languages and structures interleaved with hardware-dependent low-level resources and assembler code, the use of GUI-based configuration scripts generating commands to compile the system, and the extremely high number of possible different configurations. This paper studies the extent and the evolution of code duplications in the Linux kernel. Linux is a large, multi-platform software system; it is based on the Open Source concept, and so there are no obstacles in discussing its implementation. In addition, it is decidedly too large to be examined manually: the current Linux kernel release (2.4.18) is about three million LOCs. Nineteen releases, from 2.4.0 to 2.4.18, were processed and analyzed, identifying code duplication among Linux subsystems by means of a metric-based approach. The obtained results support the hypothesis that the Linux system does not contain a relevant fraction of code duplication. Furthermore, code duplication tends to remain stable across releases, thus suggesting a fairly stable structure, evolving smoothly without any evidence of degradation. q 2002 Published by Elsevier Science B.V.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Investigating Intentional Clone Refactoring

Software clone refactoring has been studied from many perspectives, including empirical research on clone refactoring history, IDE support for tracking clone change, and recommendation systems for clone management. Most of the work relies on having access to and being able to analyze the history of clone refactoring. However, refactoring cloned code is not equivalent to clone management, as cod...

متن کامل

Software Product Line Evolution: the Linux Kernel

Software product lines promote explicit modeling of software variability and systematic reuse of underlying components. Evolution of software product lines occurs both in variability models and assets, such as source code. In this work, we did an empirical study that investigated evolution of the Linux kernel as an example of a product line. We classified different types of edits, and answered ...

متن کامل

Evolution of the Linux Kernel Variability Model

Understanding the challenges faced by real projects in evolving their variability models, is a prerequisite for providing adequate support for such undertakings. Nevertheless, research on variability modeling has so far neglected the problem of model evolution. To address this gap we study the evolution of the Linux kernel’s variability model. The Linux kernel is a large software product line t...

متن کامل

Feature Models in Linux: From Symbols to Semantics

Linux is a highly configurable operating-system kernel which has been widely studied in the context of software product lines over the past years. Understanding the challenges and perils of evolving and maintaining feature models of the size of Linux is crucial to provide the right tools for development today and to direct future research. Unfortunately, previous studies show contradictory obse...

متن کامل

Evolution in Open Source Software: A Case Study

Most studies of software evolution have been performed on systems developed within a single company using traditional management techniques. With the widespread availability of several large software systems that have been developed using an “open source” development approach, we now have a chance to examine these systems in detail, and see if their evolutionary narratives are significantly dif...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Information & Software Technology

دوره 44  شماره 

صفحات  -

تاریخ انتشار 2002